/**
 * AlumnoCarreraPK.java
 *
 * Fecha de creación: Apr 23, 2012,5:47:07 PM
 *
 * Autor: José Ignacio Rivero Dávila
 */

package org.examat.entidades;

import java.io.Serializable;
import javax.persistence.Basic;
import javax.persistence.Column;
import javax.persistence.Embeddable;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;


@Embeddable
public class AlumnoCarreraPK implements Serializable {
    @Basic(optional = false)
    @NotNull
    @Column(name = "ClaveUnica_Alumno")
    private int claveUnicaAlumno;
    @Basic(optional = false)
    @NotNull
    @Size(min = 1, max = 3)
    @Column(name = "Clave_Carrera")
    private String claveCarrera;

    public AlumnoCarreraPK() {
    }

    public AlumnoCarreraPK(int claveUnicaAlumno, String claveCarrera) {
        this.claveUnicaAlumno = claveUnicaAlumno;
        this.claveCarrera = claveCarrera;
    }

    public int getClaveUnicaAlumno() {
        return claveUnicaAlumno;
    }

    public void setClaveUnicaAlumno(int claveUnicaAlumno) {
        this.claveUnicaAlumno = claveUnicaAlumno;
    }

    public String getClaveCarrera() {
        return claveCarrera;
    }

    public void setClaveCarrera(String claveCarrera) {
        this.claveCarrera = claveCarrera;
    }

    @Override
    public int hashCode() {
        int hash = 0;
        hash += (int) claveUnicaAlumno;
        hash += (claveCarrera != null ? claveCarrera.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object object) {
        // TODO: Warning - this method won't work in the case the id fields are not set
        if (!(object instanceof AlumnoCarreraPK)) {
            return false;
        }
        AlumnoCarreraPK other = (AlumnoCarreraPK) object;
        if (this.claveUnicaAlumno != other.claveUnicaAlumno) {
            return false;
        }
        if ((this.claveCarrera == null && other.claveCarrera != null) || (this.claveCarrera != null && !this.claveCarrera.equals(other.claveCarrera))) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "org.examat.entidades.AlumnoCarreraPK[ claveUnicaAlumno=" + claveUnicaAlumno + ", claveCarrera=" + claveCarrera + " ]";
    }

}
